package com.kws.merchant.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kws.merchant.domain.Order;
import com.kws.merchant.domain.po.OrderInfoPo;
import com.kws.merchant.domain.po.PowerStationPo;
import com.kws.merchant.domain.po.ShopCartPo;
import com.kws.merchant.domain.po.UserOrderPo;
import com.kws.merchant.domain.vo.ConfirmGoodsVo;
import com.kws.merchant.domain.vo.ConfirmOrderVo;
import com.kws.merchant.domain.vo.ContractOrderVo;
import com.kws.merchant.domain.vo.SignContractVo;

import java.util.List;

/**
 * @author : zhangbenting
 * @date : 2024/11/5 15:02
 * @Version: 1.0
 */
public interface UserOrderService extends IService<Order> {

    ConfirmOrderVo getConfirmOrder(ConfirmGoodsVo confirmGoodsVo);

    List<Order> addUserOrder(UserOrderPo userOrderPo);

    ConfirmOrderVo getShopCarConfirmOrder(ShopCartPo shopCartPo);

    boolean cancelOrder(Long orderId);

    Page<Order> getUserOrderList(OrderInfoPo orderInfoPo);

    String payUserOrder(Long orderId);

    boolean applyRefund(Long orderId);

    boolean deleteOrder(Long orderId);

    boolean updateUserOrder(OrderInfoPo orderInfoPo);

    SignContractVo userSignContract(Long orderId);


//    Page<ContractOrderVo> getContractUserOrder(OrderInfoPo orderInfoPo);

}
